﻿using Gateway.Infrastructure.AutoDI;
using Gateway.IQuery.Question.Request;
using Gateway.IQuery.Question.Result;

namespace Gateway.IQuery.Question;

/// <summary>
/// 试题查询服务接口
/// </summary>
public interface IQuestionQuery : IDependency
{
    /// <summary>
    /// 获取分页列表
    /// </summary>
    /// <param name="request"></param>
    /// <returns></returns>
    Task<PageResult<QuestionListResult>> GetPageList(QuestionPageListRequest request);
    /// <summary>
    /// 获取详情
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task<QuestionDetailResult> GetDetail(string id);
    /// <summary>
    /// 获取详情
    /// </summary>
    /// <param name="id"></param>
    /// <param name="lang"></param>
    /// <returns></returns>
    Task<QuestionDetailResult> GetDetail(string id,string lang);
    /// <summary>
    /// 获取基本详情
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    Task<QuestionDetailResult>GetSimpleDetail(string id);
    
    
    /// <summary>
    /// 获取列表-可用的
    /// </summary>
    /// <returns></returns>
    Task<List<QuestionListResult>> GetAllList();
}